﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using Generico.Coneccion;

namespace Administracion.Administracion
{
    public partial class Formulario_web11 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!this.IsPostBack)
            {
                CargarLista();
                if (lstInfo.Items.Count >= 1)
                {
                    this.lstInfo.SelectedIndex = 0;
                    cargardatos(lstInfo.SelectedValue);
                }
                Habilitar(true);
            }
        }

        protected void btnAgregar_Click(object sender, EventArgs e)
        {
            Limpiar();
            Visualizar(true);
            Habilitar(false);
            this.Session.Add("Transaccion", "A");

        }

        protected void btnEliminar_Click(object sender, EventArgs e)
        {
            var cn = new ClsConeccion();
            cn.Abrir();
           
                cn.EjecutarSql("Delete TemasSubTemas where ( Tema = " + this.ddropTema.SelectedValue + " and  SubTema = " + this.ddropSubtema.SelectedValue + ")");
                CargarLista();
           
            cn.Cerrar();
            Response.Write("<script> alert('Se ha eliminado correctamente');</script>");
            Visualizar(false);
            Habilitar(true);
        }

        protected void btnModificar_Click(object sender, EventArgs e)
        {

            Visualizar(true);
            Habilitar(false);
            this.Session.Add("Transaccion", "M");
        }

        protected void btnAceptar_Click(object sender, EventArgs e)
        {
            string varTransaccion = Session["Transaccion"].ToString();

            var cn = new ClsConeccion();
            cn.Abrir();
            if (varTransaccion == "A")
            {
               cn.EjecutarSql("Insert Into TemasSubTemas values (" + this.ddropTema.SelectedValue + ", " + this.ddropSubtema.SelectedValue + ")");
               CargarLista();
            }

            //if (varTransaccion == "M")
            //{
            //    cn.EjecutarSql("Update SubTemas Set Temas = '" + txtSubTema.Text + "' where idSubTemas = " + txtId.Text);
            //}
            cn.Cerrar();
            Response.Write("<script> alert('Se ha guardado correctamente');</script>");
            Visualizar(false);
            Habilitar(true);
        }

        protected void btnCancelar_Click(object sender, EventArgs e)
        {
            Limpiar();
            Visualizar(false);
            Habilitar(true);
        }

        protected void lstInfo_SelectedIndexChanged1(object sender, EventArgs e)
        {
            if (lstInfo.SelectedValue != String.Empty)
            {
                cargardatos(lstInfo.SelectedValue);
            }
        }
        private void cargardatos(string valor)
        {
            var cn = new ClsConeccion();
            cn.Abrir();
            string sql = "Select * From SubTemas";
            var rd = cn.EjecutarSqlDataReader(sql);
            var dt = new DataTable();
            dt.Load(rd);
            this.ddropSubtema.DataSource = dt;
            this.ddropSubtema.DataTextField = "SubTemas";
            this.ddropSubtema.DataValueField = "idSubTemas";
            this.ddropSubtema.DataBind();

            cn.Cerrar();

            var cn1 = new ClsConeccion();
            cn1.Abrir();
            string sql1 = "Select * From Temas";
            var rd1 = cn1.EjecutarSqlDataReader(sql1);
            var dt1 = new DataTable();
            dt1.Load(rd1);
            this.ddropTema.DataSource = dt1;
            this.ddropTema.DataTextField = "Temas";
            this.ddropTema.DataValueField = "idTema";
            this.ddropTema.DataBind();
            var Pos = valor.IndexOf("-");
            var Tema = valor.Substring(0, Pos );
            var SubTema = valor.Substring(Pos+1);
            this.ddropSubtema.SelectedValue=SubTema;
            this.ddropTema.SelectedValue = Tema;
           
            cn1.Cerrar();
        }
        private void Limpiar()
        {

        }
        private void Visualizar(bool visible)
        {
            btnAceptar.Visible = visible;
            btnCancelar.Visible = visible;
        }
        private void Habilitar(bool habilitado)
        {
            btnModificar.Enabled = false;
            btnAgregar.Enabled = habilitado;
            btnEliminar.Enabled = habilitado;
            this.ddropTema.Enabled = !habilitado;
            this.ddropSubtema.Enabled = !habilitado;
            chkVisibilidad.Enabled = !habilitado;

        }
        private void CargarLista()
        {
            var cn = new ClsConeccion();
            cn.Abrir();
            string sql = "Select Temas + '-'+Subtemas Descripcion, Cast(Tema as varchar(3))+ '-' + Cast(TST.SUBTEMA as varchar(3)) TemaSubtema   ";
            sql += " From TemasSubTemas TST INNER JOIN TEMAS T ON TST.Tema = T.idTema ";
            sql += " INNER JOIN SUBTEMAS ST ON TST.SubTema = ST.idSubTemas ";
            var rd = cn.EjecutarSqlDataReader(sql);
            var dt = new DataTable();
            dt.Load(rd);

            cn.Cerrar();

            this.lstInfo.DataSource = dt;
            this.lstInfo.DataTextField = "Descripcion";
            this.lstInfo.DataValueField = "TemaSubTema";
            this.lstInfo.DataBind();
        }
    }
}
